package tellh.com.gitclub.model.entity;

import android.support.annotation.IntDef;
import android.text.TextUtils;

import java.util.List;

import tellh.com.gitclub.common.utils.StringUtils;

/**
 * Created by tlh on 2016/10/2 :)
 */

public class GitTree {
    public static final int FILE = 0;
    public static final int DIR = 1;

    @IntDef({FILE, DIR})
    public @interface TreeNodeType {
    }

    /**
     * sha : dbc27ba20c6aba34ff148598a370f6c27e06c468
     * url : https://api.github.com/repos/TellH/AutoGo/git/trees/dbc27ba20c6aba34ff148598a370f6c27e06c468
     * tree : [{"path":".gitignore","mode":"100644","type":"blob","sha":"c6cbe562a42726ab875d51cb513723b234787300","size":97,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/c6cbe562a42726ab875d51cb513723b234787300"},{"path":".idea","mode":"040000","type":"tree","sha":"48af674d916ac65312609b489e3479055824f89a","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/48af674d916ac65312609b489e3479055824f89a"},{"path":".idea/.name","mode":"100644","type":"blob","sha":"e4a9533c44e1de3d49c670113c403dd2f45c5c3a","size":6,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/e4a9533c44e1de3d49c670113c403dd2f45c5c3a"},{"path":".idea/compiler.xml","mode":"100644","type":"blob","sha":"96cc43efa6a0885098044e976cd780bb42c68a70","size":686,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/96cc43efa6a0885098044e976cd780bb42c68a70"},{"path":".idea/copyright","mode":"040000","type":"tree","sha":"0193c2673203020e3726e397a6870107f9e38aa9","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/0193c2673203020e3726e397a6870107f9e38aa9"},{"path":".idea/copyright/profiles_settings.xml","mode":"100644","type":"blob","sha":"e7bedf3377d40335424fd605124d4761390218bb","size":74,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/e7bedf3377d40335424fd605124d4761390218bb"},{"path":".idea/encodings.xml","mode":"100644","type":"blob","sha":"97626ba45445dc9f3afa66e6a149914dc39e3df6","size":159,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/97626ba45445dc9f3afa66e6a149914dc39e3df6"},{"path":".idea/gradle.xml","mode":"100644","type":"blob","sha":"2ede46aa429bfd5588bbcd60dbad8a78b54b4f71","size":1101,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/2ede46aa429bfd5588bbcd60dbad8a78b54b4f71"},{"path":".idea/misc.xml","mode":"100644","type":"blob","sha":"3be1ace5f661029e2a274fd0d921c6f59497b43d","size":2957,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/3be1ace5f661029e2a274fd0d921c6f59497b43d"},{"path":".idea/modules.xml","mode":"100644","type":"blob","sha":"8bb8113d3f11ee2e25f5b6215ed6dce1a9364abf","size":776,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/8bb8113d3f11ee2e25f5b6215ed6dce1a9364abf"},{"path":".idea/runConfigurations.xml","mode":"100644","type":"blob","sha":"7f68460d8b38ac04e3a3224d7c79ef719b1991a9","size":564,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/7f68460d8b38ac04e3a3224d7c79ef719b1991a9"},{"path":".idea/vcs.xml","mode":"100644","type":"blob","sha":"94a25f7f4cb416c083d265558da75d457237d671","size":180,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/94a25f7f4cb416c083d265558da75d457237d671"},{"path":"README.md","mode":"100644","type":"blob","sha":"0a058ca0846e148e3166f57e2c0b847357883dfd","size":3751,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/0a058ca0846e148e3166f57e2c0b847357883dfd"},{"path":"app","mode":"040000","type":"tree","sha":"8ff94c1e3a48eafea166f4f5d0aff3a95b0bce94","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/8ff94c1e3a48eafea166f4f5d0aff3a95b0bce94"},{"path":"app/.gitignore","mode":"100644","type":"blob","sha":"796b96d1c402326528b4ba3c12ee9d92d0e212e9","size":7,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/796b96d1c402326528b4ba3c12ee9d92d0e212e9"},{"path":"app/build.gradle","mode":"100644","type":"blob","sha":"0c429049cc574073fb460cac3e5210891c42f4e8","size":993,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/0c429049cc574073fb460cac3e5210891c42f4e8"},{"path":"app/proguard-rules.pro","mode":"100644","type":"blob","sha":"3421d58e6752edf7ff5d72d8434703998baa6f37","size":658,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/3421d58e6752edf7ff5d72d8434703998baa6f37"},{"path":"app/src","mode":"040000","type":"tree","sha":"2cdd2db7044303a755759f4f170c9ec5b4842b82","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/2cdd2db7044303a755759f4f170c9ec5b4842b82"},{"path":"app/src/androidTest","mode":"040000","type":"tree","sha":"a3327a9ed06301bce6dfea6283fbeed77f0bd243","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/a3327a9ed06301bce6dfea6283fbeed77f0bd243"},{"path":"app/src/androidTest/java","mode":"040000","type":"tree","sha":"db12ea17248a6dcdf93f7b7fca46748f6c3b1313","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/db12ea17248a6dcdf93f7b7fca46748f6c3b1313"},{"path":"app/src/androidTest/java/tellh","mode":"040000","type":"tree","sha":"e1c2341d59223cee2afcf453a3b338d0e5ea8808","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/e1c2341d59223cee2afcf453a3b338d0e5ea8808"},{"path":"app/src/androidTest/java/tellh/com","mode":"040000","type":"tree","sha":"56db9a896abe8aaefffa8b28e6163bde5062eba1","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/56db9a896abe8aaefffa8b28e6163bde5062eba1"},{"path":"app/src/androidTest/java/tellh/com/autogo","mode":"040000","type":"tree","sha":"f22a7cb5e9c30c1d308a5f39e9289f365690d2df","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/f22a7cb5e9c30c1d308a5f39e9289f365690d2df"},{"path":"app/src/androidTest/java/tellh/com/autogo/ApplicationTest.java","mode":"100644","type":"blob","sha":"ff41d452419c4aea2ce3bb5cd67a906b09155897","size":347,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/ff41d452419c4aea2ce3bb5cd67a906b09155897"},{"path":"app/src/main","mode":"040000","type":"tree","sha":"3e2939137525569ecc849ad578d0a840a4ae148d","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/3e2939137525569ecc849ad578d0a840a4ae148d"},{"path":"app/src/main/AndroidManifest.xml","mode":"100644","type":"blob","sha":"1c201e46cea7b666ce355e66d4013cd30a104090","size":799,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/1c201e46cea7b666ce355e66d4013cd30a104090"},{"path":"app/src/main/java","mode":"040000","type":"tree","sha":"6e4890801850c9ffd296daf779d36ff5f99a9d7b","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/6e4890801850c9ffd296daf779d36ff5f99a9d7b"},{"path":"app/src/main/java/tellh","mode":"040000","type":"tree","sha":"6cd3bc1ac9f608f12a01707e77d0ae7f00c02a5e","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/6cd3bc1ac9f608f12a01707e77d0ae7f00c02a5e"},{"path":"app/src/main/java/tellh/com","mode":"040000","type":"tree","sha":"5767d16f11b83e807a2d825ffc74a08069eb5522","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/5767d16f11b83e807a2d825ffc74a08069eb5522"},{"path":"app/src/main/java/tellh/com/autogo","mode":"040000","type":"tree","sha":"d514cbbfeb6a982d2d18c2200d9fb1378aeabdf9","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/d514cbbfeb6a982d2d18c2200d9fb1378aeabdf9"},{"path":"app/src/main/java/tellh/com/autogo/GitClub.java","mode":"100644","type":"blob","sha":"b0f695e4c7ad5616874021b60329d67727290bad","size":469,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/b0f695e4c7ad5616874021b60329d67727290bad"},{"path":"app/src/main/java/tellh/com/autogo/MainActivity.java","mode":"100644","type":"blob","sha":"a5e7a0c88e8343f26d62ebc94d45fa10361998d6","size":1913,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/a5e7a0c88e8343f26d62ebc94d45fa10361998d6"},{"path":"app/src/main/java/tellh/com/autogo/Person.java","mode":"100644","type":"blob","sha":"f73064e024592e4ca7d545732298ee09ccc18877","size":230,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/f73064e024592e4ca7d545732298ee09ccc18877"},{"path":"app/src/main/java/tellh/com/autogo/Test2Activity.java","mode":"100644","type":"blob","sha":"e52d6ba41c990e692dd1aba48b1f27040ac06a94","size":2656,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/e52d6ba41c990e692dd1aba48b1f27040ac06a94"},{"path":"app/src/main/java/tellh/com/autogo/TestActivity.java","mode":"100644","type":"blob","sha":"4fa2d0e429fee87befc09d234f02e2a458876628","size":1957,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/4fa2d0e429fee87befc09d234f02e2a458876628"},{"path":"app/src/main/res","mode":"040000","type":"tree","sha":"39ebd98cc9fc4fea4fc4140e5f874d72468e0954","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/39ebd98cc9fc4fea4fc4140e5f874d72468e0954"},{"path":"app/src/main/res/layout","mode":"040000","type":"tree","sha":"17cc55309a87448a58f76a97a552be4cdec5f6f3","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/17cc55309a87448a58f76a97a552be4cdec5f6f3"},{"path":"app/src/main/res/layout/activity_main.xml","mode":"100644","type":"blob","sha":"827472826677f1d852c511ab32cf80ea8fa3be7a","size":1009,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/827472826677f1d852c511ab32cf80ea8fa3be7a"},{"path":"app/src/main/res/layout/activity_test.xml","mode":"100644","type":"blob","sha":"6c0d80ad9fe16e4106a43745f7858f3071368491","size":1085,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/6c0d80ad9fe16e4106a43745f7858f3071368491"},{"path":"app/src/main/res/layout/activity_test2.xml","mode":"100644","type":"blob","sha":"3fcc615ebe2293a21142871ea7a438af4b3c6017","size":1664,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/3fcc615ebe2293a21142871ea7a438af4b3c6017"},{"path":"app/src/main/res/mipmap-hdpi","mode":"040000","type":"tree","sha":"2711859f0e13865fb27cd53c205197b9f07e7fad","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/2711859f0e13865fb27cd53c205197b9f07e7fad"},{"path":"app/src/main/res/mipmap-hdpi/ic_launcher.png","mode":"100644","type":"blob","sha":"cde69bcccec65160d92116f20ffce4fce0b5245c","size":3418,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/cde69bcccec65160d92116f20ffce4fce0b5245c"},{"path":"app/src/main/res/mipmap-mdpi","mode":"040000","type":"tree","sha":"7c31b381580c386d2af1dce5247da7a5260653f6","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/7c31b381580c386d2af1dce5247da7a5260653f6"},{"path":"app/src/main/res/mipmap-mdpi/ic_launcher.png","mode":"100644","type":"blob","sha":"c133a0cbd379f5af6dbf1a899a0293ca5eccfad0","size":2206,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/c133a0cbd379f5af6dbf1a899a0293ca5eccfad0"},{"path":"app/src/main/res/mipmap-xhdpi","mode":"040000","type":"tree","sha":"c452242da929a936b1b5e2e785cb626692fe6cfd","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/c452242da929a936b1b5e2e785cb626692fe6cfd"},{"path":"app/src/main/res/mipmap-xhdpi/ic_launcher.png","mode":"100644","type":"blob","sha":"bfa42f0e7b91d006d22352c9ff2f134e504e3c1d","size":4842,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/bfa42f0e7b91d006d22352c9ff2f134e504e3c1d"},{"path":"app/src/main/res/mipmap-xxhdpi","mode":"040000","type":"tree","sha":"90edf4ab81f06b25e7fbb16f532d168c680f01ed","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/90edf4ab81f06b25e7fbb16f532d168c680f01ed"},{"path":"app/src/main/res/mipmap-xxhdpi/ic_launcher.png","mode":"100644","type":"blob","sha":"324e72cdd7480cb983fa1bcc7ce686e51ef87fe7","size":7718,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/324e72cdd7480cb983fa1bcc7ce686e51ef87fe7"},{"path":"app/src/main/res/mipmap-xxxhdpi","mode":"040000","type":"tree","sha":"ebc4d9e671efb982faf01a1da629f36876d4d9fe","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/ebc4d9e671efb982faf01a1da629f36876d4d9fe"},{"path":"app/src/main/res/mipmap-xxxhdpi/ic_launcher.png","mode":"100644","type":"blob","sha":"aee44e138434630332d88b1680f33c4b24c70ab3","size":10486,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/aee44e138434630332d88b1680f33c4b24c70ab3"},{"path":"app/src/main/res/values-w820dp","mode":"040000","type":"tree","sha":"df2d2f3dd8e26a5f98fc3b69e90e5cad8b286a68","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/df2d2f3dd8e26a5f98fc3b69e90e5cad8b286a68"},{"path":"app/src/main/res/values-w820dp/dimens.xml","mode":"100644","type":"blob","sha":"63fc816444614bd64f68a372d1f93211628ee51d","size":358,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/63fc816444614bd64f68a372d1f93211628ee51d"},{"path":"app/src/main/res/values","mode":"040000","type":"tree","sha":"556fd4c7ccb0470c44719aac08848c43f0953b03","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/556fd4c7ccb0470c44719aac08848c43f0953b03"},{"path":"app/src/main/res/values/colors.xml","mode":"100644","type":"blob","sha":"3ab3e9cbce07f7cdc941fc8ba424c05e83ed80f0","size":208,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/3ab3e9cbce07f7cdc941fc8ba424c05e83ed80f0"},{"path":"app/src/main/res/values/dimens.xml","mode":"100644","type":"blob","sha":"47c82246738c4d056e8030d3a259206f42e8e15d","size":211,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/47c82246738c4d056e8030d3a259206f42e8e15d"},{"path":"app/src/main/res/values/strings.xml","mode":"100644","type":"blob","sha":"08d84c307f8c517a2e5fb8309337ce3632d9b2d9","size":69,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/08d84c307f8c517a2e5fb8309337ce3632d9b2d9"},{"path":"app/src/main/res/values/styles.xml","mode":"100644","type":"blob","sha":"5885930df6d10edf3d6df40d6556297d11f953da","size":383,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/5885930df6d10edf3d6df40d6556297d11f953da"},{"path":"app/src/test","mode":"040000","type":"tree","sha":"b8e1c423fbead8236ae8edbc1be43a96e92110d5","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/b8e1c423fbead8236ae8edbc1be43a96e92110d5"},{"path":"app/src/test/java","mode":"040000","type":"tree","sha":"77a0ec32fa9e9d856211590157495d3d3b3cd5a9","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/77a0ec32fa9e9d856211590157495d3d3b3cd5a9"},{"path":"app/src/test/java/tellh","mode":"040000","type":"tree","sha":"c73c674b96a145baaf8b9ffaad0054fc06509b8b","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/c73c674b96a145baaf8b9ffaad0054fc06509b8b"},{"path":"app/src/test/java/tellh/com","mode":"040000","type":"tree","sha":"1294e0c51a5a79a4227ec4c6b9de6fc702510c7c","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/1294e0c51a5a79a4227ec4c6b9de6fc702510c7c"},{"path":"app/src/test/java/tellh/com/autogo","mode":"040000","type":"tree","sha":"80f325467a70367b2044f8ace17b755cc9d793de","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/80f325467a70367b2044f8ace17b755cc9d793de"},{"path":"app/src/test/java/tellh/com/autogo/ExampleUnitTest.java","mode":"100644","type":"blob","sha":"16470727d1d10e412b7321d21863ff154c52f640","size":309,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/16470727d1d10e412b7321d21863ff154c52f640"},{"path":"autogo-annotation","mode":"040000","type":"tree","sha":"f2b64c45ae8fa8b095505fd54f32f4ef040714f9","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/f2b64c45ae8fa8b095505fd54f32f4ef040714f9"},{"path":"autogo-annotation/.gitignore","mode":"100644","type":"blob","sha":"796b96d1c402326528b4ba3c12ee9d92d0e212e9","size":7,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/796b96d1c402326528b4ba3c12ee9d92d0e212e9"},{"path":"autogo-annotation/build.gradle","mode":"100644","type":"blob","sha":"ab943e6abc8f3eacbb5ac2e2d45f0eced8805917","size":563,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/ab943e6abc8f3eacbb5ac2e2d45f0eced8805917"},{"path":"autogo-annotation/src","mode":"040000","type":"tree","sha":"f7ccc77ab04da0f6c1e3c09ff72f5e6f4d99756d","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/f7ccc77ab04da0f6c1e3c09ff72f5e6f4d99756d"},{"path":"autogo-annotation/src/main","mode":"040000","type":"tree","sha":"b2bd109fd3844537539eb46415ae106dbfdc04a7","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/b2bd109fd3844537539eb46415ae106dbfdc04a7"},{"path":"autogo-annotation/src/main/java","mode":"040000","type":"tree","sha":"8fe4f76c03310a3b934cc80cdf6f0f988eba9042","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/8fe4f76c03310a3b934cc80cdf6f0f988eba9042"},{"path":"autogo-annotation/src/main/java/com","mode":"040000","type":"tree","sha":"87988a914f9877d1691769965bea0d8b2141a07d","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/87988a914f9877d1691769965bea0d8b2141a07d"},{"path":"autogo-annotation/src/main/java/com/autogo","mode":"040000","type":"tree","sha":"a64b3c21c53c0a84002b7b3ad79931e9cc9417d0","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/a64b3c21c53c0a84002b7b3ad79931e9cc9417d0"},{"path":"autogo-annotation/src/main/java/com/autogo/annotation","mode":"040000","type":"tree","sha":"175c797e54c7c6545b3fdec89f24f4cb36296b0a","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/175c797e54c7c6545b3fdec89f24f4cb36296b0a"},{"path":"autogo-annotation/src/main/java/com/autogo/annotation/BundleValue.java","mode":"100644","type":"blob","sha":"122d3e62fcccba1c957ce7bde5fbdff91d0d24d8","size":436,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/122d3e62fcccba1c957ce7bde5fbdff91d0d24d8"},{"path":"autogo-annotation/src/main/java/com/autogo/annotation/IntentValue.java","mode":"100644","type":"blob","sha":"55383140fe66b470d831c86a1b78f885ddbe06ed","size":437,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/55383140fe66b470d831c86a1b78f885ddbe06ed"},{"path":"autogo-annotation/src/main/java/com/autogo/annotation/SharePrefs.java","mode":"100644","type":"blob","sha":"bc30f1d1408b004ad3983b9da97090fa2f24ea7a","size":428,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/bc30f1d1408b004ad3983b9da97090fa2f24ea7a"},{"path":"autogo-compiler","mode":"040000","type":"tree","sha":"edf7a57886559a52c70c6b9d4807cdd384fb135e","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/edf7a57886559a52c70c6b9d4807cdd384fb135e"},{"path":"autogo-compiler/.gitignore","mode":"100644","type":"blob","sha":"796b96d1c402326528b4ba3c12ee9d92d0e212e9","size":7,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/796b96d1c402326528b4ba3c12ee9d92d0e212e9"},{"path":"autogo-compiler/build.gradle","mode":"100644","type":"blob","sha":"fac508ee67dd4d442a3e71df822ba4a9d464f9fb","size":650,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/fac508ee67dd4d442a3e71df822ba4a9d464f9fb"},{"path":"autogo-compiler/src","mode":"040000","type":"tree","sha":"37b805358321e90fbdbf6486c751c324e154fa7f","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/37b805358321e90fbdbf6486c751c324e154fa7f"},{"path":"autogo-compiler/src/main","mode":"040000","type":"tree","sha":"5f12f79b6e17ef5c24641018283b608e7aee9c94","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/5f12f79b6e17ef5c24641018283b608e7aee9c94"},{"path":"autogo-compiler/src/main/java","mode":"040000","type":"tree","sha":"b15e61c524292e922bc6f5ce8ca7463a58c2ff2c","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/b15e61c524292e922bc6f5ce8ca7463a58c2ff2c"},{"path":"autogo-compiler/src/main/java/com","mode":"040000","type":"tree","sha":"4fd1272026302a8555f8557fc44e6ca0ce0aa559","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/4fd1272026302a8555f8557fc44e6ca0ce0aa559"},{"path":"autogo-compiler/src/main/java/com/tellh","mode":"040000","type":"tree","sha":"df595c2536fb5beea12f17bfdbd3bab505cf5b6c","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/df595c2536fb5beea12f17bfdbd3bab505cf5b6c"},{"path":"autogo-compiler/src/main/java/com/tellh/brewer","mode":"040000","type":"tree","sha":"3eafeca2e74e619aaa30ee418df382d24e60c99a","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/3eafeca2e74e619aaa30ee418df382d24e60c99a"},{"path":"autogo-compiler/src/main/java/com/tellh/brewer/AutoGoClassCodeBrewer.java","mode":"100644","type":"blob","sha":"597cc4af97b1c34927c10cd1693222800a4e983b","size":9410,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/597cc4af97b1c34927c10cd1693222800a4e983b"},{"path":"autogo-compiler/src/main/java/com/tellh/brewer/BundleCodeBrewer.java","mode":"100644","type":"blob","sha":"ba3c849d5e73240515b9501a0e493349144cfdf1","size":5533,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/ba3c849d5e73240515b9501a0e493349144cfdf1"},{"path":"autogo-compiler/src/main/java/com/tellh/brewer/CodeBrewer.java","mode":"100644","type":"blob","sha":"de3f4e4856f2fa818ad1a77b95bf5046ba6c8c01","size":1018,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/de3f4e4856f2fa818ad1a77b95bf5046ba6c8c01"},{"path":"autogo-compiler/src/main/java/com/tellh/brewer/LaunchActivityIntentCodeBrewer.java","mode":"100644","type":"blob","sha":"922f97ae6029663c99a6b96cc6e46011cc5caba9","size":8764,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/922f97ae6029663c99a6b96cc6e46011cc5caba9"},{"path":"autogo-compiler/src/main/java/com/tellh/brewer/SharePrefsCodeBrewer.java","mode":"100644","type":"blob","sha":"1da670222f63d51d203c13524a67ecbe80721d8a","size":5234,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/1da670222f63d51d203c13524a67ecbe80721d8a"},{"path":"autogo-compiler/src/main/java/com/tellh/entity","mode":"040000","type":"tree","sha":"8382fab7397aec0a944215fc631a5d4c444887ca","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/8382fab7397aec0a944215fc631a5d4c444887ca"},{"path":"autogo-compiler/src/main/java/com/tellh/entity/BundleKeyValueEntity.java","mode":"100644","type":"blob","sha":"68bcb5726c159c00625bc84b9807db149ddf4da5","size":573,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/68bcb5726c159c00625bc84b9807db149ddf4da5"},{"path":"autogo-compiler/src/main/java/com/tellh/entity/IntentKeyValueEntity.java","mode":"100644","type":"blob","sha":"ffcd825fa37883ac090595797075692ede56eb5d","size":573,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/ffcd825fa37883ac090595797075692ede56eb5d"},{"path":"autogo-compiler/src/main/java/com/tellh/entity/KeyValueEntity.java","mode":"100644","type":"blob","sha":"a7bf11f2530debf5468b71461d10ef8ea698af56","size":1174,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/a7bf11f2530debf5468b71461d10ef8ea698af56"},{"path":"autogo-compiler/src/main/java/com/tellh/entity/KeyValueGroup.java","mode":"100644","type":"blob","sha":"c67036c5dbd9de4dd772b904d346a2eb49fdb7a9","size":1513,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/c67036c5dbd9de4dd772b904d346a2eb49fdb7a9"},{"path":"autogo-compiler/src/main/java/com/tellh/entity/SharePrefsKeyValueEntity.java","mode":"100644","type":"blob","sha":"e6eafd180179f715d899dd9347baefff45fde2da","size":578,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/e6eafd180179f715d899dd9347baefff45fde2da"},{"path":"autogo-compiler/src/main/java/com/tellh/processor","mode":"040000","type":"tree","sha":"33cdc2b746c7037417e311bfb694ba7449876c1d","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/33cdc2b746c7037417e311bfb694ba7449876c1d"},{"path":"autogo-compiler/src/main/java/com/tellh/processor/AutoGoProcessor.java","mode":"100644","type":"blob","sha":"09329339dd1c961703fd3ec56f04b7d6638e39ca","size":2818,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/09329339dd1c961703fd3ec56f04b7d6638e39ca"},{"path":"autogo-compiler/src/main/java/com/tellh/processor/BaseAnnotationHandler.java","mode":"100644","type":"blob","sha":"bfc936a1fe2d9b8bed491f0c8f1576a27c26ab6b","size":3958,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/bfc936a1fe2d9b8bed491f0c8f1576a27c26ab6b"},{"path":"autogo-compiler/src/main/java/com/tellh/processor/BundleHandler.java","mode":"100644","type":"blob","sha":"8da46e16ed7782f17bd7ed88fcba33ff6a688ea9","size":1314,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/8da46e16ed7782f17bd7ed88fcba33ff6a688ea9"},{"path":"autogo-compiler/src/main/java/com/tellh/processor/IntentValueHandler.java","mode":"100644","type":"blob","sha":"3a12683d8635eedbe0ae818ac2dd564d4f2380f0","size":1355,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/3a12683d8635eedbe0ae818ac2dd564d4f2380f0"},{"path":"autogo-compiler/src/main/java/com/tellh/processor/SharePrefsHandler.java","mode":"100644","type":"blob","sha":"7632ad6d2690e9789d2312ad376f3152667b00d0","size":1332,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/7632ad6d2690e9789d2312ad376f3152667b00d0"},{"path":"autogo-compiler/src/main/java/com/tellh/utils","mode":"040000","type":"tree","sha":"aaeb21cfd4f8ab26869b812b99ec2c81b1adbb32","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/aaeb21cfd4f8ab26869b812b99ec2c81b1adbb32"},{"path":"autogo-compiler/src/main/java/com/tellh/utils/ClassNames.java","mode":"100644","type":"blob","sha":"2cb659ce2c2ca732d928513fc0f9424f5211d2d5","size":2314,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/2cb659ce2c2ca732d928513fc0f9424f5211d2d5"},{"path":"autogo-compiler/src/main/java/com/tellh/utils/Utils.java","mode":"100644","type":"blob","sha":"d10f3a9ae8bb2767541a9fe485028de1b0d99837","size":2757,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/d10f3a9ae8bb2767541a9fe485028de1b0d99837"},{"path":"autogo-core","mode":"040000","type":"tree","sha":"aec207b2bf242a96645e38013ca167bfd067aa0e","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/aec207b2bf242a96645e38013ca167bfd067aa0e"},{"path":"autogo-core/.gitignore","mode":"100644","type":"blob","sha":"796b96d1c402326528b4ba3c12ee9d92d0e212e9","size":7,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/796b96d1c402326528b4ba3c12ee9d92d0e212e9"},{"path":"autogo-core/build.gradle","mode":"100644","type":"blob","sha":"6e259d49e78614fed31c3aaa8fc36c5b840a020f","size":1023,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/6e259d49e78614fed31c3aaa8fc36c5b840a020f"},{"path":"autogo-core/proguard-rules.pro","mode":"100644","type":"blob","sha":"3421d58e6752edf7ff5d72d8434703998baa6f37","size":658,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/3421d58e6752edf7ff5d72d8434703998baa6f37"},{"path":"autogo-core/src","mode":"040000","type":"tree","sha":"fb4ba6c6f590fe1b450f6375997dc57cb061cae2","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/fb4ba6c6f590fe1b450f6375997dc57cb061cae2"},{"path":"autogo-core/src/androidTest","mode":"040000","type":"tree","sha":"e400b0312292d00e9a883fc19194149a2b96586e","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/e400b0312292d00e9a883fc19194149a2b96586e"},{"path":"autogo-core/src/androidTest/java","mode":"040000","type":"tree","sha":"0522f047bb7a144e0ba33d312ada61f26efd43c5","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/0522f047bb7a144e0ba33d312ada61f26efd43c5"},{"path":"autogo-core/src/androidTest/java/tellh","mode":"040000","type":"tree","sha":"e7eca9dcc018432a2448464f2b24728aeaba5517","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/e7eca9dcc018432a2448464f2b24728aeaba5517"},{"path":"autogo-core/src/androidTest/java/tellh/com","mode":"040000","type":"tree","sha":"6a59344e6ca6bf5b971e9044767940f45b3a76ee","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/6a59344e6ca6bf5b971e9044767940f45b3a76ee"},{"path":"autogo-core/src/androidTest/java/tellh/com/autogo_core","mode":"040000","type":"tree","sha":"1451de23bbadd30dd6c8df9e65e887c3e882cb0d","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/1451de23bbadd30dd6c8df9e65e887c3e882cb0d"},{"path":"autogo-core/src/androidTest/java/tellh/com/autogo_core/ApplicationTest.java","mode":"100644","type":"blob","sha":"b2b81a57eaafb35805b3a5bd8bd035276c03905d","size":352,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/b2b81a57eaafb35805b3a5bd8bd035276c03905d"},{"path":"autogo-core/src/main","mode":"040000","type":"tree","sha":"57afb50828437304149d036a69da24b3c0a7df24","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/57afb50828437304149d036a69da24b3c0a7df24"},{"path":"autogo-core/src/main/AndroidManifest.xml","mode":"100644","type":"blob","sha":"ecb608b2cea05a0ce3c9a74eab789e6f5b8882b3","size":118,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/ecb608b2cea05a0ce3c9a74eab789e6f5b8882b3"},{"path":"autogo-core/src/main/java","mode":"040000","type":"tree","sha":"385b7ada6fa29ab6934147ec59e9cd434e46b52b","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/385b7ada6fa29ab6934147ec59e9cd434e46b52b"},{"path":"autogo-core/src/main/java/autogo","mode":"040000","type":"tree","sha":"df6251646654c5e2cae0dd4849414b1eb6b418f7","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/df6251646654c5e2cae0dd4849414b1eb6b418f7"},{"path":"autogo-core/src/main/java/autogo/internal","mode":"040000","type":"tree","sha":"1d8ea077bf2d98f4617acd7b1d65f6d1bcc0e94d","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/1d8ea077bf2d98f4617acd7b1d65f6d1bcc0e94d"},{"path":"autogo-core/src/main/java/autogo/internal/AutoAssigner.java","mode":"100644","type":"blob","sha":"6d5a6dfe0c511cc0221c53e56afea8005d4d271a","size":220,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/6d5a6dfe0c511cc0221c53e56afea8005d4d271a"},{"path":"autogo-core/src/main/java/autogo/internal/AutoAssistantManager.java","mode":"100644","type":"blob","sha":"2c03d9644ecddec1d3e0149ca628a8b37e1a7c6f","size":3001,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/2c03d9644ecddec1d3e0149ca628a8b37e1a7c6f"},{"path":"autogo-core/src/main/java/autogo/internal/AutoLauncher.java","mode":"100644","type":"blob","sha":"fe6324b323812245322c3ecdb4c395efe2129531","size":154,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/fe6324b323812245322c3ecdb4c395efe2129531"},{"path":"autogo-core/src/main/java/autogo/internal/AutoStorageAssistant.java","mode":"100644","type":"blob","sha":"048d55d3976e6ff46f84427a0946c75a6887d51e","size":277,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/048d55d3976e6ff46f84427a0946c75a6887d51e"},{"path":"autogo-core/src/main/java/autogo/utils","mode":"040000","type":"tree","sha":"a35c0f1c6edb3ece55ed22f366b0f1bcb6ac901d","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/a35c0f1c6edb3ece55ed22f366b0f1bcb6ac901d"},{"path":"autogo-core/src/main/java/autogo/utils/BundleUtils.java","mode":"100644","type":"blob","sha":"697e297fb72880788432148364a2e34e5be72b57","size":3246,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/697e297fb72880788432148364a2e34e5be72b57"},{"path":"autogo-core/src/main/java/autogo/utils/ClassUtils.java","mode":"100644","type":"blob","sha":"bd48e4ecf8143c8ca9a07f861bdeec71e4fe6a9b","size":474,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/bd48e4ecf8143c8ca9a07f861bdeec71e4fe6a9b"},{"path":"autogo-core/src/main/java/autogo/utils/IntentUtils.java","mode":"100644","type":"blob","sha":"b555ae6782cf73e9133552500ffe4d753ec46316","size":3142,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/b555ae6782cf73e9133552500ffe4d753ec46316"},{"path":"autogo-core/src/main/java/autogo/utils/SharedPreferencesUtils.java","mode":"100644","type":"blob","sha":"6da8c602e7d8cab0b01b771c17ceea00500342e3","size":5318,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/6da8c602e7d8cab0b01b771c17ceea00500342e3"},{"path":"autogo-core/src/test","mode":"040000","type":"tree","sha":"0e1b7aafd25797f6a9385b54471dcb8057fe7cb1","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/0e1b7aafd25797f6a9385b54471dcb8057fe7cb1"},{"path":"autogo-core/src/test/java","mode":"040000","type":"tree","sha":"958f79e24fc74c2e4c4f8fc94b0598bfa521c2ab","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/958f79e24fc74c2e4c4f8fc94b0598bfa521c2ab"},{"path":"autogo-core/src/test/java/tellh","mode":"040000","type":"tree","sha":"59cae81f8f1d72061b04d984a21d95a7cbe26f05","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/59cae81f8f1d72061b04d984a21d95a7cbe26f05"},{"path":"autogo-core/src/test/java/tellh/com","mode":"040000","type":"tree","sha":"a6f36ffe6418cd7b5928e6e223eb3002450a3799","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/a6f36ffe6418cd7b5928e6e223eb3002450a3799"},{"path":"autogo-core/src/test/java/tellh/com/autogo_core","mode":"040000","type":"tree","sha":"efd41a6cf7bf1b6e018d7f5f6f6c2aba5983dcda","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/efd41a6cf7bf1b6e018d7f5f6f6c2aba5983dcda"},{"path":"autogo-core/src/test/java/tellh/com/autogo_core/ExampleUnitTest.java","mode":"100644","type":"blob","sha":"db88ef9bcc0b1e5c520e993f70fedd2f6433b6ec","size":325,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/db88ef9bcc0b1e5c520e993f70fedd2f6433b6ec"},{"path":"build.gradle","mode":"100644","type":"blob","sha":"c967cc5de1f21443df0b8fe860f000edadb54d2c","size":1040,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/c967cc5de1f21443df0b8fe860f000edadb54d2c"},{"path":"gradle.properties","mode":"100644","type":"blob","sha":"1d3591c8a4c9c29578c36c87f80c05a6aea3ee3f","size":855,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/1d3591c8a4c9c29578c36c87f80c05a6aea3ee3f"},{"path":"gradle","mode":"040000","type":"tree","sha":"eff07ea2def1482e259588e27d1c398bd6b4c8c2","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/eff07ea2def1482e259588e27d1c398bd6b4c8c2"},{"path":"gradle/wrapper","mode":"040000","type":"tree","sha":"1c2e244e5a9845cfd6049156d19f878e653dc2fd","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/1c2e244e5a9845cfd6049156d19f878e653dc2fd"},{"path":"gradle/wrapper/gradle-wrapper.jar","mode":"100644","type":"blob","sha":"13372aef5e24af05341d49695ee84e5f9b594659","size":53636,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/13372aef5e24af05341d49695ee84e5f9b594659"},{"path":"gradle/wrapper/gradle-wrapper.properties","mode":"100644","type":"blob","sha":"122a0dca2e800b3ccf474321fc5e63551f507d29","size":231,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/122a0dca2e800b3ccf474321fc5e63551f507d29"},{"path":"gradlew","mode":"100644","type":"blob","sha":"9d82f78915133e1c35a6ea51252590fb38efac2f","size":4971,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/9d82f78915133e1c35a6ea51252590fb38efac2f"},{"path":"gradlew.bat","mode":"100644","type":"blob","sha":"8a0b282aa6885fb573c106b3551f7275c5f17e8e","size":2314,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/8a0b282aa6885fb573c106b3551f7275c5f17e8e"},{"path":"raw","mode":"040000","type":"tree","sha":"406132e3c04e30af7544d0116d86fb0a00ad7967","url":"https://api.github.com/repos/TellH/AutoGo/git/trees/406132e3c04e30af7544d0116d86fb0a00ad7967"},{"path":"raw/Go.png","mode":"100644","type":"blob","sha":"aa61d4d8929a80f0335395926c3f716bb7b32d46","size":2785,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/aa61d4d8929a80f0335395926c3f716bb7b32d46"},{"path":"raw/Go_small.png","mode":"100644","type":"blob","sha":"c5a67472200888ae7421c270953cc3cd4f4700a3","size":21804,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/c5a67472200888ae7421c270953cc3cd4f4700a3"},{"path":"settings.gradle","mode":"100644","type":"blob","sha":"e65a83c359dd5aec5ddff2a85e7601879b4ecc9c","size":73,"url":"https://api.github.com/repos/TellH/AutoGo/git/blobs/e65a83c359dd5aec5ddff2a85e7601879b4ecc9c"}]
     * truncated : false
     */

    private String sha;
    private String url;
    private boolean truncated;
    /**
     * path : .gitignore
     * mode : 100644
     * type : blob
     * sha : c6cbe562a42726ab875d51cb513723b234787300
     * size : 97
     * url : https://api.github.com/repos/TellH/AutoGo/git/blobs/c6cbe562a42726ab875d51cb513723b234787300
     */

    private List<TreeEntity> tree;

    public String getSha() {
        return sha;
    }

    public void setSha(String sha) {
        this.sha = sha;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public boolean isTruncated() {
        return truncated;
    }

    public void setTruncated(boolean truncated) {
        this.truncated = truncated;
    }

    public List<TreeEntity> getTree() {
        return tree;
    }

    public void setTree(List<TreeEntity> tree) {
        this.tree = tree;
    }

    public static class TreeEntity {
        private String path;
        private String mode;
        private String type;//blob or tree
        private String sha;
        private int size;
        private String html_url;

        public String getPath() {
            return path;
        }

        public void setPath(String path) {
            this.path = path;
        }

        public String getMode() {
            return mode;
        }

        public void setMode(String mode) {
            this.mode = mode;
        }

        public String getType() {
            return type;
        }

        @TreeNodeType
        public int getNodeType() {
            if ("blob".equals(type))
                return FILE;
            else return DIR;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getSha() {
            return sha;
        }

        public void setSha(String sha) {
            this.sha = sha;
        }

        public int getSize() {
            return size;
        }

        public void setSize(int size) {
            this.size = size;
        }

        public String getHtml_url(String user, String repo, String branchName) {
            if (TextUtils.isEmpty(html_url)) {
                html_url = StringUtils.append("https://github.com/", user, "/", repo, "/blob/", branchName, "/", path);
            }
            return html_url;
        }
    }
}
